home *** CD-ROM | disk | FTP | other *** search
/ All for Cell Phones: Sony Ericsson / Sony-Ericsson 2004.iso / Java / Marslander / Marslander.jar / j.class (.txt) < prev    next >
Encoding:
Java Class File  |  2002-01-18  |  4.7 KB  |  193 lines

  1. import com.siemens.mp.game.GraphicObjectManager;
  2. import com.siemens.mp.game.TiledBackground;
  3. import java.io.InputStream;
  4. import java.util.Random;
  5.  
  6. // $FF: renamed from: j
  7. public class class_0 {
  8.    public int numBuildInTiles = 3;
  9.    public int groundTile;
  10.    public int airTile;
  11.    // $FF: renamed from: a d
  12.    private d field_0;
  13.    // $FF: renamed from: b int
  14.    private int field_1 = 0;
  15.    // $FF: renamed from: c int
  16.    private int field_2 = 10;
  17.    public int mapXSize;
  18.    public int mapYSize;
  19.    public int width;
  20.    public int height;
  21.    public byte[] map;
  22.    public int levelX;
  23.    public int levelY;
  24.    // $FF: renamed from: d int
  25.    private int field_3;
  26.    // $FF: renamed from: e boolean
  27.    private boolean field_4;
  28.    // $FF: renamed from: f boolean
  29.    private boolean field_5;
  30.    // $FF: renamed from: g java.io.InputStream
  31.    private InputStream field_6;
  32.    // $FF: renamed from: h int[][]
  33.    private int[][] field_7 = new int[][]{{86, 56}, {192, 248}, {24, 136, 160, 144}, {24, 312}, {24, 144, 96, 144}, {120, 136, 48, 184}, {136, 48, 256, 160, 144, 200}, {104, 136, 120, 208}, {56, 216}, {176, 136, 184, 32, 40, 56}, {168, 48}, {256, 64}};
  34.    public int[] openingPositions = new int[]{156, 190, 108, 60, 60, 75, 30, 60, 84, 124, 35, 37};
  35.    // $FF: renamed from: i com.siemens.mp.game.TiledBackground
  36.    private TiledBackground field_8;
  37.    public d tiles;
  38.    public l[] crystals = new l[10];
  39.    public int numCrystals = 0;
  40.    // $FF: renamed from: j com.siemens.mp.game.GraphicObjectManager
  41.    private GraphicObjectManager field_9;
  42.    // $FF: renamed from: k f
  43.    private f field_10;
  44.    // $FF: renamed from: l k
  45.    private k field_11;
  46.  
  47.    public class_0(f var1, GraphicObjectManager var2) {
  48.       this.field_10 = var1;
  49.       this.field_9 = var2;
  50.       this.tiles = var1.getSprite("res\\game_tiles.spr");
  51.       this.field_0 = var1.getSprite("res\\game_uparrow.spr");
  52.       var2.addObject(this.field_0.getSprite());
  53.    }
  54.  
  55.    public void center(int var1, int var2) {
  56.       if (var2 > 40) {
  57.          this.levelY = var2 - 40;
  58.       }
  59.  
  60.       if (var1 > 48) {
  61.          this.levelX = var1 - 48;
  62.       }
  63.  
  64.       if (this.levelX > this.width - 96) {
  65.          this.levelX = this.width - 96;
  66.       }
  67.  
  68.       if (this.levelY > this.height - 80) {
  69.          this.levelY = this.height - 80;
  70.       }
  71.  
  72.       this.field_8.setPositionInMap(this.levelX, this.levelY);
  73.  
  74.       for(int var3 = 0; var3 < this.numCrystals; ++var3) {
  75.          this.crystals[var3].updatePosition();
  76.       }
  77.  
  78.    }
  79.  
  80.    public boolean crystalsToCollect() {
  81.       return this.field_4;
  82.    }
  83.  
  84.    public void newLevel(int var1, i var2, k var3, Random var4) {
  85.       this.field_11 = var3;
  86.       this.field_3 = var1;
  87.       this.levelX = 0;
  88.       this.levelY = 0;
  89.       this.field_0.setVisible(false);
  90.       String var5 = "/res\\level" + (var1 + 1) + ".map";
  91.  
  92.       try {
  93.          byte[] var6 = new byte[2];
  94.          InputStream var7 = this.getClass().getResourceAsStream(var5);
  95.          var7.read(var6);
  96.          this.width = this.mapXSize = e.convertByte(var6[0]);
  97.          this.height = this.mapYSize = e.convertByte(var6[1]);
  98.          this.width <<= 3;
  99.          this.height <<= 3;
  100.          this.map = new byte[this.mapXSize * this.mapYSize];
  101.          var7.read(this.map);
  102.          this.groundTile = 56 + this.numBuildInTiles;
  103.          this.airTile = 11 + this.numBuildInTiles;
  104.          if (this.numBuildInTiles > 0) {
  105.             this.airTile = 1;
  106.             this.groundTile = 2;
  107.  
  108.             for(int var8 = 0; var8 < this.map.length; ++var8) {
  109.                byte[] var10000 = this.map;
  110.                var10000[var8] = (byte)(var10000[var8] + this.numBuildInTiles);
  111.                if (this.map[var8] == 56 + this.numBuildInTiles) {
  112.                   this.map[var8] = (byte)this.groundTile;
  113.                } else if (this.map[var8] == 11 + this.numBuildInTiles) {
  114.                   this.map[var8] = (byte)this.airTile;
  115.                }
  116.             }
  117.          }
  118.  
  119.          var7.close();
  120.       } catch (Exception var10) {
  121.          System.out.println("Exception: " + var10 + "  " + var5);
  122.       }
  123.  
  124.       try {
  125.          if (this.field_8 != null) {
  126.             this.field_9.deleteObject(this.field_8);
  127.          }
  128.  
  129.          this.field_9.deleteObject(this.field_0.getSprite());
  130.          this.field_8 = new TiledBackground(this.tiles.getPixels(), (byte[])null, this.map, this.mapXSize, this.mapYSize);
  131.          this.field_8.setVisible(true);
  132.          this.field_9.addObject(this.field_8);
  133.          this.numCrystals = 0;
  134.  
  135.          for(int var11 = 0; var11 < this.field_7[var1].length >> 1; ++var11) {
  136.             if (this.crystals[this.numCrystals] != null) {
  137.                this.crystals[this.numCrystals].crystal.setVisible(false);
  138.                this.crystals[this.numCrystals].arrow.setVisible(false);
  139.             }
  140.  
  141.             this.crystals[this.numCrystals] = new l(this.field_10, this.field_9, var2, var4, var3, this.field_5);
  142.             this.crystals[this.numCrystals].setLevel(this);
  143.             this.crystals[this.numCrystals].setPosition(this.field_7[var1][var11 << 1], this.field_7[var1][(var11 << 1) + 1]);
  144.             ++this.numCrystals;
  145.          }
  146.  
  147.          this.field_9.addObject(this.field_0.getSprite());
  148.          var3.setLevel(this);
  149.          var3.reset(this.field_5);
  150.          var3.positionX = this.openingPositions[var1] - 12 << 14;
  151.          var3.positionY = 163840;
  152.       } catch (Exception var9) {
  153.          System.out.println("Exception: " + var9);
  154.       }
  155.  
  156.       System.gc();
  157.    }
  158.  
  159.    public void runFrame() {
  160.       if (this.field_1 == 0) {
  161.          --this.field_2;
  162.       } else {
  163.          ++this.field_2;
  164.       }
  165.  
  166.       if (this.field_2 > 20 || this.field_2 < 0) {
  167.          this.field_1 ^= 1;
  168.       }
  169.  
  170.       for(int var1 = 0; var1 < this.numCrystals; ++var1) {
  171.          this.crystals[var1].runFrame();
  172.       }
  173.  
  174.       this.field_4 = false;
  175.  
  176.       for(int var2 = 0; var2 < this.numCrystals; ++var2) {
  177.          if (!this.crystals[var2].collected()) {
  178.             this.field_4 = true;
  179.          }
  180.       }
  181.  
  182.       if (!this.field_4) {
  183.          this.field_0.setVisible(true);
  184.          this.field_0.setPosition(this.openingPositions[this.field_3] - 4 - this.levelX, 20 - (this.field_2 >> 1) - this.levelY);
  185.       }
  186.  
  187.    }
  188.  
  189.    public void setSound(boolean var1) {
  190.       this.field_5 = var1;
  191.    }
  192. }
  193.